home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 1995 #5 & #6 / Amiga Plus CD - 1995 - No. 5 and 6.iso / pd / serien / purity / nr.51 / wbswatsch / wbswatsch.p < prev    next >
Text File  |  1995-08-27  |  3KB  |  95 lines

  1. PROGRAM datetime;
  2.  
  3. { Done on 20.02.1995 by Røgersøft for Purity the Pascal FD-Serie
  4.   on the C= Amiga. Thanks To Björn !                             }
  5.    
  6.  
  7. USES intuition,exec;
  8. {$incl 'exec/memory.h','exec/execbase.h','dos.lib',
  9.        'dos/datetime.h','intuition/intuitionbase.h'}
  10.  
  11. CONST taskname='WBSwatsch2';
  12.      
  13.  VAR 
  14.   scr,scr1:p_screen;
  15.   win:p_window;
  16.   task:p_task;
  17.   dt:DateTime;
  18.   ds:Datestamp;
  19.   x:p_DateStamp;
  20.   s1,s2,s3: STRING[Len_DatString];
  21.   dummy:LONG;
  22.   buffer:STRING[180];
  23.   buff1:STRING[80];
  24.   ib:^_intuitionbase;
  25.   hilf1,hilf2:STRING;
  26.   meg,speicher1,speicher2:LONGINT;
  27.   kilo,byt:INTEGER;
  28.  
  29.  
  30. BEGIN
  31.  dosbase:=OpenLibrary('dos.library',37);
  32.  IF (findtask(taskname)=NIL) THEN
  33.  BEGIN
  34.   ib:=intuitionbase;
  35.   win:=open_window(100,60,240,40,1,0,activate,'WBSwatsch by Røgersøft',NIL,20,10,300,80);
  36.   scr:=win^.wscreen;
  37.   task:=findtask(NIL);                    { eigenen Task suchen }
  38.   task^.tc_node.ln_name:=taskname;        { task umbenennen     }
  39.   delay(20);
  40.   Close_Window(win);
  41.  REPEAT
  42.   x:=DOSDateStamp(^ds);
  43.   dt:=DateTime(ds,FORMAT_CDN,0,^s1,^s2,^s3);
  44.   dummy:=datetostr(^dt);
  45.   IF dummy=1 THEN
  46.   BEGIN
  47.    buff1:=s1+' '+s2+' '+s3;
  48.    speicher1:=availmem($2);
  49.    speicher2:=availmem($4);
  50.    meg:=(speicher1 DIV 1000000); IF meg>0 THEN hilf1:=intstr(meg)+'.';
  51.    meg:=(speicher1 MOD 1000000);
  52.    kilo:=meg DIV 1000;
  53.    IF kilo<100 THEN hilf1:=hilf1+'0'; { Die ganzen nullen schreiben}
  54.    IF kilo<10 THEN hilf1:=hilf1+'0';
  55.    hilf1:=hilf1+intstr(kilo)+'.';
  56.    kilo:=meg MOD 1000;
  57.    IF kilo<100 THEN hilf1:=hilf1+'0';
  58.    IF kilo<10 THEN hilf1:=hilf1+'0';
  59.    hilf1:=hilf1+intstr(kilo);
  60.    IF (speicher2=0) THEN hilf2:='0'
  61.    ELSE
  62.     BEGIN
  63.      meg:=(speicher2 DIV 1000000); IF meg>0 THEN hilf2:=intstr(meg)+'.';
  64.      meg:=(speicher2 MOD 1000000);
  65.      kilo:=meg DIV 1000;
  66.      IF kilo<100 THEN hilf2:=hilf2+'0';
  67.      IF kilo<10 THEN hilf2:=hilf2+'0';
  68.      hilf2:=hilf2+intstr(kilo)+'.';
  69.      kilo:=meg MOD 1000;
  70.      IF kilo<100 THEN hilf2:=hilf2+'0';
  71.      IF kilo<10 THEN hilf2:=hilf2+'0';
  72.      hilf2:=hilf2+intstr(kilo);
  73.     END;
  74.    buffer:='Amiga Workbench '+hilf1+' Chip-RAM '+
  75.             hilf2+' sonstiges RAM  '+buff1;
  76. {   scr^.title:=buffer
  77.    showtitle(scr,ORD(true));}  {die beiden Zeilen waren tödlich !}
  78.  
  79.    setwindowtitles(ib^.activewindow,str(-1),buffer);  { ok, ein wenig radikal!}
  80.    delay(50); {1 sek. warten}
  81.   
  82.   END;
  83.  UNTIL FALSE; { kleine endlosschleife }
  84.  END
  85.  ELSE 
  86.  BEGIN
  87.   forbid;
  88.   Remtask(findtask(taskname)); { wbswatschtask entfernen }
  89.   permit;
  90.   win:=open_window(100,60,240,40,1,0,activate,'WBSwatsch removed',NIL,20,10,300,80);
  91.   delay(50);
  92.   Close_Window(win);
  93.  END;
  94. END.
  95.